As the amount and complexity of data becomes more prevalent for businesses, it becomes desirable to store the data in a structured way, e.g., for using the data in computations and analyses. Also, business success needs high-quality data. Even relatively straightforward business processes, such as a customer ordering a widget, can have complex implications for data analysis. The business process itself has many steps: the widget must be manufactured, packaged, and warehoused; the order must be produced and processed; the widget must be retrieved from inventory, packed, shipped, and delivered; a bill must be issued to the customer; and after payment is received, the open transaction must be closed. The real-world implementation of business processes like this often leads to a varied data flow, with multiple databases and scattered data.
Sometimes many tables with relationships of various cardinalities among them are used to represent the richness and interconnection of data elements in the business processes. Large-scale analysis of such tables or data for the business processes can be difficult and expensive.